Computer application achievement system with purchase and trading feature

ABSTRACT

A method for facilitating management of achievements includes receiving enrollment data from the first user, defining a plurality of achievements, and providing an interface to the first user for displaying achievements of the first user. The method also includes providing an interface to the first user for displaying achievements of a second user, responsive to confirming a friend relationship with the second user, and receiving a selection from the first user identifying an achievement of the first user and an achievement of the second user. The method also includes sending a request to the second user identifying an achievement of the first user and an achievement of the second user, receiving an acceptance of the request from the second user, and allocating the achievement of the first user to the second user, and the achievement of the second user to the first user.

CROSS-REFERENCE TO RELATED APPLICATIONS

Not Applicable.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not Applicable.

INCORPORATION BY REFERENCE OF MATERIAL SUBMITTED ON A COMPACT DISC

Not Applicable.

FIELD OF THE INVENTION

The present invention relates to the field of mobile applications and, more specifically, the present invention relates to the field of achievement systems for video games and other applications.

BACKGROUND OF THE INVENTION

The present invention relates to achievement systems. An achievement, also sometimes known as a trophy, badge, award, stamp, medal or challenge, is a goal defined inside or outside of the parameters of a video game or other computer application. There are usually benefits associated with gaining achievements, such as unlocking levels of a video game or gaining points. Achievement systems have gained popularity in the video game market and are now commonly used in a wide variety of video games and other computer applications.

One of the drawbacks associated with currently available achievement systems, especially for video games, is that achievements are based solely on a player's ability to gain the achievement by mastering a certain facet of the video game or computer application. Thus, if a player lacks the ability to master a certain facet of a video game or computer application, the player cannot gain the corresponding achievement. Therefore, if a player gets “stuck” in a particular area of the video game or computer application, and cannot determine how to attain the achievement, the player has no recourse. This constraint limits the attainment of all achievements of a video game or computer application only to those dedicated players that exhibit considerable ability to master all facets of the application. This can be a disadvantage for the video game or computer application, as it limits the commercial appeal and acceptance of the product.

In one example, U.S. Patent Pub. No. 2007/0173327 describes a game console having the capability to execute programming to unlock an achievement. The publication describes a process wherein when achievements are attained, a data store accessible by the game console over a network stores the achievement information in a user profile. Similarly, U.S. Patent Pub. No. 2011/0118035 describes a game achievement system wherein players are rewarded with game achievements and points based on their game achievements. In both publications, however, there is no alternative provided to players who desire to gain access to all achievements of a video game or computer application, but lack the ability to master all facets of the application.

Therefore, what is needed is a system and method for improving the problems with the prior art, and more particularly for a more efficient method and system for making achievements in a video game or other computer application available to users.

BRIEF SUMMARY OF THE INVENTION

In one embodiment, the present invention discloses a method for facilitating management of achievements over a communications network. The method includes receiving enrollment data from a mobile device of the first user, over the communications network, wherein the enrollment data includes identifying information, and storing the enrollment data in a record associated with the first user; defining a plurality of achievements, wherein an achievement is achievable via game play in a first game, wherein an achievement may be purchased from an online marketplace, or wherein an achievement may be traded via the online marketplace; storing, in the record of the first user, a set of achievements allocated to the first user; storing, in the record of the first user, an indicator defining a friend relationship with a second user having a mobile device; providing a first interface to the mobile device of the first user, over the communications network, wherein the first interface displays achievements of the first user, wherein the first user may select an achievement from the first interface, but wherein the first interface only allows the first user to select an achievement for which the first user possesses more than one instance; responsive to confirming the presence, in the record of the first user, of an indicator defining a friend relationship with the second user, providing a second interface to the mobile device of the first user, over the communications network, wherein the second interface displays achievements of the second user, but wherein the second interface only displays achievements of the second user for which the second user possesses more than one instance; receiving a selection from the mobile device of the first user, over the communications network, wherein the selection identifies one achievement of the first user from the first interface and one achievement of the second user from the second interface; sending a request to the mobile device of the second user, over the communications network, wherein the request identifies one achievement of the first user and one achievement of the second user; receiving an acceptance of the request from the mobile device of the second user, over the communications network; and allocating the one achievement of the first user to the second user, allocating the one achievement of the second user to the first user and de-allocating the one achievement of the first user and the one achievement of the second use.

Additional aspects of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The aspects of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute part of this specification, illustrate embodiments of the invention and together with the description, serve to explain the principles of the invention. The embodiments illustrated herein are presently preferred, it being understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown, wherein:

FIG. 1 is a block diagram illustrating the network architecture of a system for facilitating management of achievements over a communications network, in accordance with one embodiment.

FIG. 2 is a block diagram showing the various data that is entered, stored, processed and managed in system for facilitating management of achievements over a communications network, in accordance with one embodiment.

FIG. 3A is a flow chart depicting the general control flow of a process for facilitating management of achievements over a communications network, according to one embodiment.

FIG. 3B is a flow chart depicting the general control flow of a process for purchasing achievements over a communications network, according to one embodiment.

FIG. 3C is a flow chart depicting the general control flow of a process for trading achievements over a communications network, according to one embodiment of the present invention.

FIG. 3D is an illustration of an interface used to convey the percent complete of a group goal in terms of achievements, according to one embodiment.

FIG. 3E is an illustration of a second interface used to convey the percent complete of a group goal in terms of achievements, according to one embodiment.

FIG. 4 is a block diagram of a system including an example computing device and other computing devices.

DETAILED DESCRIPTION OF THE INVENTION

In this document, an achievement, also sometimes known as a trophy, badge, award, stamp, medal or challenge, is defined as a goal defined inside or outside of the parameters of a video game or other computer application. A user or player may achieve or possess more than one copy or instance of an achievement. A group goal is defined as a set or collection of achievements that itself qualifies as an achievement. For example, attaining a predefined set of achievements may be considered an achievement unto itself, for which a separate and distinct benefit is conferred to the user or player.

The embodiments described herein improve over the prior art by providing an achievement systems for video games and other computer applications, wherein the opportunity to obtain achievements are not based solely on a player's ability to gain the achievement by mastering a certain facet of the video game or computer application. By providing players and users the opportunity to obtain achievements by purchase or by trade, it is no longer required that a player must master a certain facet of the video game or computer application to gain the corresponding achievement. This further remedies the situation where a player gets “stuck” in a particular area of the video game or computer application, and cannot determine how to attain the achievement. These features of Applicant's invention increase the commercial appeal and acceptance of the video game or computer application.

Referring now to the drawing figures in which like reference designators refer to like elements, there is shown in FIG. 1 an illustration of a block diagram showing the network architecture of a system 100 and method for facilitating management of achievements over a communications network in accordance with the principles of the present invention. A prominent element of FIG. 1 is the server 102 associated with repository or database 104 and further coupled with communications network 106, which can be a circuit switched network, such as the Public Service Telephone Network (PSTN), or a packet switched network, such as the Internet or the World Wide Web, the global telephone network, a cellular network, a mobile communications network, or any combination of the above. Server 102 is a central controller or operator for functionality that executes on computing devices 120, 122, namely, enrolling players or users, managing achievements and managing sales/trades transactions of achievements, all of which are provided to the players or users 110, 112. Server 102 may also provide common social networking and communication functions to players 110, 112, such as creating a friend network, sending and accepting friend requests, sending messages and sharing data.

FIG. 1 further includes mobile computing devices 120 and 122 (i.e., mobile devices), which may be smart phones, mobile phones, tablet computers, handheld computers, desktop computers, game consoles, laptops, or the like. Mobile computing devices 120 and 122 correspond to players 110 and 112, respectively. Each mobile computing device 120 and 122 executes a video game or other computer application that serves as the basis for the player enrollment functions, achievement management functions and sales/trade transaction functions executed by the server 102.

FIG. 1 further shows that server 102 includes a database or repository 104, which may be a relational database comprising a Structured Query Language (SQL) database stored in a SQL server. Devices 120, 122 may also each include their own database. The repository 104 serves data from a database, which is a repository for data used by server 102, authority 145 and devices 120, 122, during the course of operation of the invention. Database 104 may be distributed over one or more nodes or locations that are connected via network 106. Devices 120, 122 may also include their own databases or data stores, as shown in device 400 below.

The database 104 may include a user record for each player 110, 112. A user record may include: contact/identifying information for the user (name, address, telephone number(s), email address, etc.), a handle or user name for the user, a unique identifier for the user, a password or other authentication key for the user, information pertaining to sales attributed to the user, electronic payment information for the user, information pertaining to the purchases and trades made by the user, a description of past items (such as achievements) purchased and traded by the user, the identity of the source of past achievements purchased or received by trade by the user, the identity of the receiver or destination of past achievements divested by trade by the user, the current location of each user (based on location-based services from the user's mobile computer) etc. A user record may further include demographic data for each user, such as age, sex, income data, race, color, marital status, etc.

A user record may further include a compilation of current achievements associated with a user. For each achievement associated with a user, data defining an achievement (i.e., achievement data) may be stored in the user record, wherein achievement data may include one or more graphic files, audio file or video files, a textual description of the achievement, textual name for the achievement, a date of attainment of the achievement, a date of purchase of the achievement, a date of reception of the achievement by trade, a number of points associated with the achievement, a textual description of how the achievement was attained, and a textual description of the benefits associated with the achievement (such as unlocked gamed levels, unlocked videos, points, etc.). A user record may further include a list that defines an amount of, or number of, each achievement the client possesses, as well as a list of achievements the user has yet to acquire.

A user record may further include a compilation of current group goals associated with a user. For each group goal associated with a user, data defining a group goal (i.e., group goal data) may be stored in the user record, wherein group goal data may include one or more graphic files, audio file or video files, a textual description of the group goal, textual name for the group goal, a date of attainment of the group goal, a number of points associated with the group goal, a textual description of how the group goal was attained, and a textual description of the benefits associated with the group goal (such as unlocked gamed levels, unlocked videos, points, etc.). A user record may also include a list of group goals the user is currently attempting to attain, the percentage or fraction of the group goal the user has attained, the percentage or fraction of the group goal the user has yet to attain, and a list of achievements the user has yet to attain in order to complete the group goal.

A user record may also include sales transaction data. Sales transaction data may include one or more achievement identifiers (such as SKUs), one or more achievement amounts, buyer contact/identifying information, achievement delivery information, one or more monetary amounts and electronic payment information. In one embodiment, electronic payment information may comprise buyer contact/identifying information, one or more monetary amounts and any data garnered from a purchase card (i.e., purchase card data), as well as any authentication information that accompanies the purchase card. Electronic payment information may also include a user or login name and a password, that provide access to a network that hosts other electronic payment information or that may be used to effectuate a payment to another party. Purchase card data may comprise any data garnered from a purchase card (such as any numerals or other data printed on a purchase card) and any authentication information that accompanies the purchase card. Sales transaction data may further include a period of time (such as monthly) that defines how often a given achievement is provided or uploaded to a user or player, as well as a specified day within the period of time (such as on the 15^(th) of each month) that the given achievement is provided or shipped to the user or player. A user record may also include one or more indicators that a user has obtained or purchased a number of credits, which may be used to purchase or trade items, as described more fully below.

A user record may further include a legal age indicator, such as “underage” or “adult,” and, in the case of an underage user, a set of permissions that defines what the user is permitted to do when interacting with server 102. The permissions may be directed to purchasing transactions, trade transactions and communications with other users. Lastly, in the case of an underage user, a user record may further include a parental permission password or authentication key, which is required to be entered when the user attempts to perform an action that is not permitted due to his/her age, such as purchasing an achievement. A user record may also include social networking data, such as friend connections/relationships between players. A friend connection or relationship may define the identity of another player and the nature of the relationship between the two players, such as acquaintances, family, etc. A friend connection or relationship may be stored as an indicator in a user record, wherein the indicator may define the identity of the other user and nature of the relationship with the other user.

FIG. 1 shows an embodiment of the present invention wherein networked computing devices 120, 122 interact with server 102 and repository 104 (as well as entities 145, 148) over the network 106. Server 102 includes a software engine that delivers applications, data, program code and other information to networked computing devices 120, 122 (as well as entities 145, 148). It should be noted that although FIG. 1 shows only the networked computers 145, 148, 102, 120, 122, the system of the present invention supports any number of networked computing devices connected via network 106.

Server 102, entities 145, 148, and devices 120, 122 include program logic comprising computer source code, scripting language code or interpreted language code that may be compiled to produce an executable file or computer instructions, or that may be interpreted at run-time, wherein the computer source code performs various functions of the present invention.

Note that although server 102 is shown as a single and independent entity, in one embodiment of the present invention, the functions of server 102 may be integrated with another entity, such as one of the devices 120, 122, payment authority 145 or third party 148. Further, server 102 and its functionality, according to a preferred embodiment of the present invention, can be realized in a centralized fashion in one computer system or in a distributed fashion wherein different elements are spread across several interconnected computer systems.

FIG. 1 also shows a payment authority 145, which acts to effectuate payments by players 110, 112 for items, such as achievements. In the course of a sales transaction, server 102 may interface with payment authority 145 to effectuate payment. In one embodiment of the present invention, the payment authority 145 is a payment gateway, which is an e-commerce Application Service Provider (ASP) service that authorizes and processes payments from one party to another. The payment authority 145 may accept payment via the use of purchase cards, i.e., credit cards, charge cards, bank cards, gift cards, account cards, etc.

FIG. 1 further shows third party 148, which performs age verification services, i.e., the process of verifying the age and/or identify of an individual player interacting with server 102. Third party 148, which may be implemented as a server, may perform its functions by verifying a personal identity record against a combination of government-issued ID and other personal identity data. Third party 148 may also screen for registered sex offenders. In the course of a transaction, such as a sales transaction or an achievement trading transaction, the server 102 may interface with third party 148 to verify the age or identity of a player or user. Note that although party 148 is shown as a single and independent entity, in one embodiment of the present invention, the functions of party 148 may be integrated with another entity, such as server 102. Further, the functionality of party 148 may be realized in a centralized fashion in one computer system or in a distributed fashion wherein different elements are spread across several interconnected computer systems.

FIG. 2 is a block diagram 200 showing the various data that is entered, stored, processed and managed in a system for facilitating management of achievements over a communications network, in accordance with one embodiment. The block diagram of FIG. 2 shows the flow of data that occurs when a player 112 uses his device 122 to register or enroll with server 102, earn achievements, and effectuate one or more sales/purchases or trades of achievements. In one example sales transaction, player 112 uses his purchase card 230 to purchase or trade one or more achievements. It should be noted that achievements may be obtained by a player via game play, i.e., the player interacting with the video game or computer application, purchase via an online marketplace or a trade via the online marketplace. An online marketplace is defined as one or more nodes communicatively coupled to the communications network 106, wherein the nodes provide services to users for facilitating offers, acceptances and other negotiations for the purchase, sale and trade of achievements. In one embodiment, the online marketplace is provided by server 102.

FIG. 2 shows that player 112 may enter various data sets into database 104 for processing and management by server 102. Player 112 may enter enrollment data 202, payment data 204, trade request data 206 and other data 208 into database 104. Player 112 may enter enrollment data 202 into his device 122 by manually entering data into a mobile application via keypad, touchpad, or via voice. Enrollment data 202 may comprise any of the user-related data that may comprise a user record, as defined above.

Player 112 may enter payment data 204, or a portion thereof, into his device 122 by manually entering data into a mobile application via keypad, touchpad, or via voice. Payment data comprises sales transaction data and/or electronic payment information, as defined above. Player 112 may also enter payment data 204, or a portion thereof, into his device 122 by swiping the purchase card 230 through a card reader communicatively coupled with the device 122. A card reader is a data input device that reads data from a card-shaped storage medium. One example of a card reader is a magnetic card reader, which reads magnetic stripe cards, such as credit cards. A mobile card reader is a card reader that is communicatively coupled with a mobile computing device.

Player 112 may alternatively enter payment data 204 into his device 122 by using Radio Frequency Identification (RFID), or Near Field Communication (NFC) to create a communications connection between device 122 and card 230. RFID is the use of a wireless non-contact system that uses radio-frequency electromagnetic fields to transfer data from one node to another. NFC is a set of standards for smart-phones and similar devices to establish radio communication with each other by touching them together or bringing them into close proximity. In one embodiment, upon reading any purchase card data from purchase card 230, the device 122 immediately encrypts the purchase card data that was read, so as to produce encrypted purchase card data. In this embodiment, the encrypted purchase card data from the purchase card 230 is transmitted to the server 102 in payment data 204.

Player 112 may also enter trade request data 206 into his device 122 either manually or via other methods, as described above. Trade request data 206 may include a definition of an amount of, or number of, each achievement the client possesses, as well as a list of achievements the user has yet to acquire. Alternatively, the trade request data 206 includes only a list of achievements the user lacks or has yet to acquire. In another alternative, the trade request data 206 includes only a list of achievements for which the user possesses more than one copy or more than one instance of those achievements. Trade request data 206 may also include a list of achievements the user has yet to attain in order to complete one or more group goals. Trade request data 206 may also include any payment data, as defined above.

Player 112 may enter other data 208, or a portion thereof, into his device 122 by manually entering data into a mobile application via keypad, touchpad, or via voice. The other data 208 may include a predefined period of time that defines how often the player 112 desires to have a defined set of achievements uploaded, and billed to, the player 112, i.e., an automatic, recurring purchase card payment. For example, other data 208 may include an indicator that indicates a monthly or weekly purchase, and corresponding billing. Other data 208 may further include a specified day in the predefined period of time that defines when the player 112 desires to have the defined set of achievements uploaded, and billed to, the player 112. For example, other data 208 may include an indicator that indicates a monthly purchase, and corresponding billing, on the 15^(th) of each month.

Note that data sets 202-208 entered into database 104 are associated with the user record for player 112. In one embodiment, the data sets 202-208 may be used by server 102 to enroll a player, to effectuate sales of achievements to the player 112, and to mediate trades of achievements between players, among other things.

FIG. 2 further shows that subsequent to the entry of data 202-208 into database 104, server 102 may send a request for payment 250 to payment authority 145, responsive to a player 112 commanding the device 122 to purchase an achievement or engage in a trade of an achievement, which may require a payment. The request for payment 250 may include any of the enrollment data 202, payment data 204, trade request data 206 or other data 208. At a minimum, the request for payment 250 may include the monetary amount that corresponds to the achievement(s) that will be allocated to the player 112 and data garnered from the purchase card 230. Subsequently, the payment authority 145 effectuates a payment for the achievement being purchased or traded. Then, the payment authority 145 sends verification 280 of payment to the server 102, which proceeds to effectuate the transfer or allocation of the achievement 275 being purchased or traded to the player 112.

In an embodiment where the player 112 desires to engage in an automatic, periodic purchase of achievements, i.e., an automatic, recurring purchase card payment, a series of steps are undertaken upon the detection of each passage of the time period. At the end of each time period, the server 102 sends a request for payment 250 to payment authority 145. Subsequently, the payment authority 145 effectuates a payment for the achievement being purchased or traded. Then, the payment authority 145 sends verification 275 of payment to the server 102, which proceeds to effectuate the transfer or allocation of the achievement 275 being purchased or traded to the player 112.

FIG. 3A is a flow chart depicting the general control flow of a process for facilitating management of achievements over a communications network, according to one embodiment. Method 300 describes the steps that occur when a player 112 downloads or activates a video game or computer application, enrolls with server 102 and begins the process of obtaining achievements. The method 300 is described with reference to FIG. 2, which is a diagram 200 showing the data flow of the aforementioned process.

In step 302, the player 112 downloads a video game or other computer application to device 122. Alternatively, the video game or other computer application may already be resident on the device 122, in which case the player 112 activates the video game or other computer application. In another alternative, the player 112 accesses the video game or other computer application over the network 106 via a web browser or other interface on device 122. In step 304, the player 112 executes the video game or other computer application and enrolls or registers with the server 102 over network 106 by entering enrollment data 202 and, optionally, payment data 204 and other data 208, into device 122. Subsequently, the device 122 sends the entered data to the server 102 via network 106.

In step 306, the server 102 receives the data transmitted in step 304 and stores the data in one or more newly created user records in database 104. Subsequently, the device 122 stores a minor image of the newly created user records in the data store of device 122. Henceforth, when the video game or computer application is instantiated and connected to network 106, the video game or computer application compares the data in the user records in device 122 to the corresponding user records in database 104 to ensure that the compared data is congruent. If the comparison shows an inconsistency between the data in the user records in device 122 to the corresponding user records in database 104, the data located in the database 104 is given priority and replicated in the data store of device 122.

In optional step 307, the server 102 reads the payment data 204 entered by the player 112 and sends a request for payment to payment authority 145. The request for payment may include a predefined monetary amount and electronic payment information. Subsequently, the payment authority 145 transmits a verification of payment to the server 102, and the server allocates a predefined number of credits to player 112. I.e., the server 102 stores an indicator in the user record of player 112 indicating that the player 112 possesses the predefined number of credits.

In one alternative to step 307, the player 112 enters a unique code into his mobile device 122. The unique code may be an alphanumeric value that is placed on retail merchandise, advertising, audio/video ads or Internet commercials and a unique code corresponds to a predefined amount of credit. The server 102 reads the unique code entered by the player 112 and the server allocates a predefined number of credits to player 112. I.e., the server 102 stores an indicator in the user record of player 112 indicating that the player 112 possesses the predefined number of credits.

In step 308, the server 102 may allocate one or more achievements to player 112 in the database 104 and/or the data store of device 122. This allocation of achievements may be “free” in that the player 112 has not earned or otherwise obtained the achievements. Consequently, the player 112 realizes the benefits of the achievements received in step 308, such as unlocked game levels, unlocked videos, etc. In one embodiment, the “free” allocation of achievements to player 112 may be periodic, wherein server 102 may allocate one or more achievements to player 112 in the database 104 and/or the data store of device 122 on a regular basis (see loop created after execution of step 314 in FIG. 3).

In step 310, the player 112 may attain achievements via regular game-play, such as completing levels, obtaining certain amounts of points, etc. As a result, the player 112 realizes the benefits of the achievements received in step 310. In step 312, the player 112 may attain achievements via other methods, such as purchasing and trading, as described more fully below in FIGS. 3B and 3C. In step 314, a set period of time, such as one day, passes. Subsequently, control flows back to step 308, wherein steps 308 through 314 are continually repeated.

FIG. 3B is a flow chart depicting the general control flow of a process for purchasing achievements over a communications network, according to one embodiment. Method 325 describes the steps that occur when a player 112 purchases one or more achievements via network 106. The method 325 is described with reference to FIG. 2. Note that method 325 provides more details on the step 312 of the method 300.

In step 326, the player 112 executes the video game or computer application on device 122 connected to network 106. The video game or computer application compares the data in the user records in device 122 to the corresponding user records in database 104 to ensure that the compared data is congruent, as described more fully above. In step 328, the player 112 navigates to a graphical user interface wherein the player may view achievements that may be purchased via server 102. In this step 328, the server 102 transmits graphic information to the device 122, which illustrates those achievements that may be purchased via server 102 in the graphical user interface. In one embodiment, the server 102 compares the list of achievements that may be purchased via server 102 and compares it to a list (located in the user records in database 104) of achievements not yet obtained by player 112. In this embodiment, the server 102 transmits graphic information to the device 122, which illustrates only those achievements that player 112 lacks, i.e., has not otherwise obtained, and also may be purchased via server 102.

In step 330, the player 112 indicates or selects, via device 122, one or more achievements to purchase and transmits the selection to server 102 via network 106. In optional step 332, the server 102 checks the legal age indicator of the player 112 and any permissions associated with purchasing transactions (located in the user records in database 104) to determine whether the player 112 is permitted to undergo a purchase transaction. If the player 112 is permitted to undergo a purchase transaction, the control flows to step 334. If the player 112 is not permitted to undergo a purchase transaction, the control flows to step 345.

In step 345, the player 112 is solicited to enter a parental permission password or authentication key, which is required to be entered when the player 112 attempts to perform an action that is not permitted, as per the player's permissions and/or legal age indicator. In step 345, it is determined whether the player 112, or his/her parent or guardian, entered a correct parental permission password or authentication key. If the player 112, or his/her parent or guardian, entered a correct parental permission password or authentication key, then control flows to step 334, wherein the regular purchase process is executed. If the player 112 does not enter a correct parental permission password or authentication key, then control flows to step 347, wherein the purchase process is terminated.

In step 334, the server 102 obtains the payment data 204 either from the user records in database 104 or by soliciting the player 112 to enter the payment data 204 into device 122, as described above. In step 336, the server 102 sends a request for payment 250 to payment authority 145. The request for payment 250 may include the monetary amount that corresponds to the achievement being purchased and electronic payment information. Then, in step 338 it is determined whether the payment authority 145 transmits a verification of payment to the server 102. If verification is received from authority 145, then control flows to step 340 wherein the server allocates the achievement purchased to player 112. If verification is not received from authority 145, then control flows to step 347 wherein the purchase transaction is terminated.

In one alternative to steps 336 through 340, the server 102 checks the user record of player 112 to determine whether the user record of player 112 includes a sufficient amount of credits corresponding to the achievement being purchased. If so, then the server 102 reduces the number of credits in the user record of player 112 by an amount corresponding to the achievement being purchased, and the server 102 allocates the achievement purchased to player 112. If the user record of player 112 does not include a sufficient amount of credits corresponding to the achievement being purchased, then the purchase transaction is terminated.

FIG. 3C is a flow chart depicting the general control flow of a process for trading achievements over a communications network, according to one embodiment of the present invention. Method 350 describes the steps that occur when a player 112 trades one or more achievements via network 106. The method 350 is described with reference to FIG. 2. Note that method 350 provides more details on the step 312 of the method 300.

In step 352, the player 112 executes the video game or computer application on device 122 connected to network 106. The video game or computer application compares the data in the user records in device 122 to the corresponding user records in database 104 to ensure that the compared data is congruent, as described more fully above. In step 354, the player 112 navigates to a first graphical user interface wherein the player may view and select his/her own achievements that may be traded with other users via server 102. In one embodiment, the player 112 is only allowed to trade those achievements for which the player 112 possesses more than one instance, and therefore, in this embodiment, the first graphical user interface displays only those achievements for which the player 112 possesses more than one instance. Alternatively, the first graphical user interface may display all of player 112's achievements but may only allow the player 112 to select those achievements for which the player 112 possess more than one instance.

Also in step 354, the player 112 navigates to a second graphical user interface wherein the player may view achievements that may be obtained by trade from other users via server 102. In this step, the server 102 transmits graphic information to the device 122, which illustrates those achievements that may be obtained by trade from other players via server 102. In one embodiment, the player 112 may view any achievement in the second graphical user interface. In another embodiment, a player is only allowed to obtain by trade those achievements the player lacks or has yet to acquire and a player is only allowed to obtain achievements for which another player possesses more than one instance. Therefore, the second graphical user interface displays only those achievements the player 112 lacks or has yet to acquire and only those achievements for which other players possess more than one instance. Alternatively, the second graphical user interface may display all achievements but may only allow the player 112 to select those achievements the player 112 lacks or has yet to acquire and only those achievements for which other players possess more than one instance.

In one alternative to step 354, the player 112 is only allowed to view, in the second graphical user interface, the achievements of players with which the player 122 possesses a friend relationship. In this embodiment, the second graphical user interface, allows the player 112 to select another player, whose achievements the player 112 desires to view. Once the player 112 selects another player for viewing, the server 102 confirms the presence of an indicator in the user record of player 112 that indicates that player 112 holds a friend relationship with the selected other player. If the friend relationship is confirmed, the server 102 transmits graphic information to the device 122, which illustrates those achievements of the selected other player that may be obtained by trade. Player 112 may only be allowed to obtain by trade those achievements the player 112 lacks or has yet to acquire and player 112 may only be allowed to obtain achievements for which the other selected player possesses more than one instance. Therefore, the second graphical user interface may only display those achievements of the other selected player that player 112 lacks or has yet to acquire and only those achievements for which the other selected player possess more than one instance.

In step 356, the player 112 indicates or selects from the first graphical user interface, via device 122, an achievement the player 112 elects to provide to another player. Also, the player 112 indicates or selects from the second graphical user interface, via device 122, an achievement the player 112 desires to obtain from the other player (such as player 110). The proposed trade embodied by the user's selection (i.e., player 112's achievement in exchange for player 110's achievement) is transmitted from device 122 to the server 102. Subsequently, the server 102 sends a request to device 120 of player 110, wherein the request proposes trading player 112's achievement in exchange for player 110's achievement. In response, the player 110 may either accept or decline the proposed trade by indicating or selecting his decision, via device 120. Player 110's acceptance or rejection is transmitted from device 120 to the server 102 and from server 102 to the device 122.

In an alternative embodiment, after the player 112 has selected achievements from the first and second graphical user interfaces, the server 102 sends a broadcast request, message or posting to the online marketplace, wherein the broadcast request proposes trading player 112's achievement in exchange for the achievement selected from the second graphical user interface. The broadcast request is open for any other player to accept, provided the other player has more than one instance of the achievement selected from the second graphical user interface. If a player accepts the proposed trade by indicating or selecting his decision, via a mobile device, the player's acceptance or rejection is transmitted from the mobile device of the accepting player to the server 102 and from server 102 to the device 122.

In step 358 it is determined whether the other player, such as player 110, accepted the proposed trade. If acceptance is received, then control flows to step 360. Otherwise, control flows back to step 354. In optional step 360, the server 102 checks the legal age indicator of the player 112 and any permissions associated with trading transactions (located in the user records in database 104) to determine whether the player 112 is permitted to undergo a trading transaction. If the player 112 is permitted to undergo a trading transaction, the control flows to step 364. If the player 112 is not permitted to undergo a trading transaction, the control flows to step 362.

In step 362, the player 112 is solicited to enter a parental permission password or authentication key. In step 362, it is determined whether the player 112 entered a correct parental permission password or authentication key. If the player 112 entered a correct parental permission password or authentication key, then control flows to step 364, wherein the regular trading process is executed. If the player 112 does not enter a correct parental permission password or authentication key, then control flows to step 366, wherein the trading process is terminated.

In step 364, the server 102 obtains the payment data 204 either from the database 104 or by soliciting the player 112 to enter the payment data 204 into device 122, as described above. In step 368, the server 102 sends a request for payment 250 to payment authority 145. The request for payment 250 may include a monetary amount that corresponds to a commission or fee for the achievement being traded and electronic payment information. Then, in step 370 it is determined whether the payment authority 145 transmits a verification of payment to the server 102. If verification is received from authority 145, then control flows to step 372 wherein the server effectuates the accepted trade by: allocating player 110's achievement to player 112, allocating player 112's achievement to player 110, de-allocating player 110's achievement, and de-allocating player 112's achievement. If verification is not received from authority 145, then control flows to 366 wherein the trade transaction is terminated.

In one alternative to steps 364 through 372, the server 102 checks the user record of player 112 to determine whether the user record of player 112 includes a sufficient amount of credits corresponding to the accepted trade. A predefined fee may be charged for each trade or a variable fee dependant on the rarity or availability of each achievement being traded may be imposed. If the user record of player 112 includes a sufficient amount of credits corresponding to the accepted trade, then the server 102 reduces the number of credits in the user record of player 112 by an amount corresponding to the accepted trade, and the server 102 effectuates the accepted trade by: allocating player 110's achievement to player 112, allocating player 112's achievement to player 110, de-allocating player 110's achievement, and de-allocating player 112's achievement. If the user record of player 112 does not include a sufficient amount of credits corresponding to the accepted trade, then the trade transaction is terminated.

In one embodiment, if the player 112 is permitted to undergo a trading transaction, then control flows from step 360 directly to step 372. In this embodiment, there is no fee or commission to be paid for trading achievements. In another embodiment, a fee or commission is paid for trading achievements only when the two parties trading the achievement do not have a friend connection. In this embodiment, before a trade is effectuated, the server 102 reads the user records for one or both players (in database 104) and determines where there is a friend connection between the two players. If such a connection exists, then there is no fee or commission paid for trading achievements between the two parties. If such a connection does not exist, then there is a fee or commission paid for trading achievements between the two parties, as described in steps 364-370.

FIG. 3D is an illustration of an interface 375 used to convey the percent complete of a group goal in terms of achievements, according to one embodiment. The interface 375 is composed of a 5×4 grid illustrating that a group goal comprises a set or collection of achievements. Each achievement is represented by a graphic representation (such as a trophy or medal) placed in a cell of the grid in the interface 375. Note that the grid is almost completed, with the exception of the top-right, bottom-right and bottom-left cells. The empty cells of the grid represent achievements that the player 112 has not obtained yet. Thus, interface 375 graphically illustrates the percentage or fraction of the group goal the user has attained, and the percentage or fraction of the group goal the user has yet to attain.

FIG. 3E is an illustration of a second interface 390 used to convey the percent complete of a group goal in terms of achievements, according to one embodiment. The interface 390 corresponds to the interface 375 of FIG. 3D and may be the reverse side of the interface 375. That is, when interacting with the interface 375, the player 112 may interact with the interface 375 to flip it over or rotate the interface, so as to view interface 390.

Again, the interface 390 is composed of a 5×4 grid that, when viewed as a whole, illustrates a single still image. The still image represents the first image of a video that shall be unlocked for viewing when the group goal (as illustrated in FIG. 3D above) has been achieved. Note that the grid is almost completed, with the exception of the top-right, bottom-right and bottom-left cells. The top-right, bottom-right and bottom-left cells of the grid of interface 390 represent achievements that the player 112 has not yet obtained in interface 375. The top-right, bottom-right and bottom-left cells of the grid of interface 390 display graphic representations of the achievements that have yet to be obtained. Thus, interface 390 graphically illustrates the percentage or fraction of the group goal the user has attained, and the percentage or fraction of the group goal the user has yet to attain. The interface 390 also illustrates the benefit of attaining the group goal, i.e., viewing the video that can be partially seen in the incomplete interface 390.

FIG. 4 is a block diagram of a system including an example computing device 400 and other computing devices. Consistent with the embodiments described herein, the aforementioned actions performed by 102, 120, 122, 145, 148 may be implemented in a computing device, such as the computing device 400 of FIG. 4. Any suitable combination of hardware, software, or firmware may be used to implement the computing device 400. The aforementioned system, device, and processors are examples and other systems, devices, and processors may comprise the aforementioned computing device. Furthermore, computing device 400 may comprise an operating environment for the methods shown in FIGS. 2 through 3E above.

With reference to FIG. 4, a system consistent with an embodiment of the invention may include a plurality of computing devices, such as computing device 400. In a basic configuration, computing device 400 may include at least one processing unit 402 and a system memory 404. Depending on the configuration and type of computing device, system memory 404 may comprise, but is not limited to, volatile (e.g. random access memory (RAM)), non-volatile (e.g. read-only memory (ROM)), flash memory, or any combination or memory. System memory 404 may include operating system 405, one or more programming modules 406 (such as program module 407). Operating system 405, for example, may be suitable for controlling computing device 400's operation. In one embodiment, programming modules 406 may include, for example, a program module 407. Furthermore, embodiments of the invention may be practiced in conjunction with a graphics library, other operating systems, or any other application program and is not limited to any particular application or system. This basic configuration is illustrated in FIG. 4 by those components within a dashed line 420.

Computing device 400 may have additional features or functionality. For example, computing device 400 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated in FIG. 4 by a removable storage 409 and a non-removable storage 410. Computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, program modules, or other data. System memory 404, removable storage 409, and non-removable storage 410 are all computer storage media examples (i.e. memory storage.) Computer storage media may include, but is not limited to, RAM, ROM, electrically erasable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store information and which can be accessed by computing device 400. Any such computer storage media may be part of device 400. Computing device 400 may also have input device(s) 412 such as a keyboard, a mouse, a pen, a sound input device, a camera, a touch input device, etc. Output device(s) 414 such as a display, speakers, a printer, etc. may also be included. The aforementioned devices are only examples, and other devices may be added or substituted.

Computing device 400 may also contain a communication connection 416 that may allow device 400 to communicate with other computing devices 418, such as over a network in a distributed computing environment, for example, an intranet or the Internet. Communication connection 416 is one example of communication media. Communication media may typically be embodied by computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media. The term “modulated data signal” may describe a signal that has one or more characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared, and other wireless media. The term computer readable media as used herein may include both computer storage media and communication media.

As stated above, a number of program modules and data files may be stored in system memory 404, including operating system 405. While executing on processing unit 402, programming modules 406 may perform processes including, for example, one or more of the methods shown in FIGS. 2 through 3E above. The aforementioned processes are examples, and processing unit 402 may perform other processes. Other programming modules that may be used in accordance with embodiments of the present invention may include electronic mail and contacts applications, word processing applications, spreadsheet applications, database applications, slide presentation applications, drawing or computer-aided application programs, etc.

Generally, consistent with embodiments of the invention, program modules may include routines, programs, components, data structures, and other types of structures that may perform particular tasks or that may implement particular abstract data types. Moreover, embodiments of the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. Embodiments of the invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

Furthermore, embodiments of the invention may be practiced in an electrical circuit comprising discrete electronic elements, packaged or integrated electronic chips containing logic gates, a circuit utilizing a microprocessor, or on a single chip (such as a System on Chip) containing electronic elements or microprocessors. Embodiments of the invention may also be practiced using other technologies capable of performing logical operations such as, for example, AND, OR, and NOT, including but not limited to mechanical, optical, fluidic, and quantum technologies. In addition, embodiments of the invention may be practiced within a general purpose computer or in any other circuits or systems.

Embodiments of the present invention, for example, are described above with reference to block diagrams and/or operational illustrations of methods, systems, and computer program products according to embodiments of the invention. The functions/acts noted in the blocks may occur out of the order as shown in any flowchart. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved.

While certain embodiments of the invention have been described, other embodiments may exist. Furthermore, although embodiments of the present invention have been described as being associated with data stored in memory and other storage mediums, data can also be stored on or read from other types of computer-readable media, such as secondary storage devices, like hard disks, floppy disks, or a CD-ROM, or other forms of RAM or ROM. Further, the disclosed methods' stages may be modified in any manner, including by reordering stages and/or inserting or deleting stages, without departing from the invention.

Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims. 

What is claimed is:
 1. A method implemented by a processing unit, the method for facilitating management of achievements over a communications network, comprising: receiving enrollment data from a mobile device of the first user, over the communications network, wherein the enrollment data includes identifying information, and storing the enrollment data in a record associated with the first user; defining a plurality of achievements, wherein an achievement is achievable via game play in a first game, wherein an achievement may be purchased from an online marketplace, or wherein an achievement may be traded via the online marketplace; storing, in the record of the first user, a set of achievements allocated to the first user; storing, in the record of the first user, an indicator defining a friend relationship with a second user having a mobile device; providing a first interface to the mobile device of the first user, over the communications network, wherein the first interface displays achievements of the first user, wherein the first user may select an achievement from the first interface, but wherein the first interface only allows the first user to select an achievement for which the first user possesses more than one instance; responsive to confirming the presence, in the record of the first user, of an indicator defining a friend relationship with the second user, providing a second interface to the mobile device of the first user, over the communications network, wherein the second interface displays achievements of the second user, but wherein the second interface only displays achievements of the second user for which the second user possesses more than one instance; receiving a selection from the mobile device of the first user, over the communications network, wherein the selection identifies one achievement of the first user from the first interface and one achievement of the second user from the second interface; sending a request to the mobile device of the second user, over the communications network, wherein the request identifies one achievement of the first user and one achievement of the second user; receiving an acceptance of the request from the mobile device of the second user, over the communications network; and allocating the one achievement of the first user to the second user, allocating the one achievement of the second user to the first user and de-allocating the one achievement of the first user and the one achievement of the second user.
 2. The method of claim 1, wherein the processing unit comprises a smart phone or a tablet computer.
 3. The method of claim 2, wherein when the first interface displays the set of achievements of the first user, a graphic is displayed for each achievement.
 4. The method of claim 3, wherein when the second interface displays achievements of the second user, a graphic is displayed for each achievement.
 5. The method of claim 2, further comprising: receiving from the mobile device of the first user, over the communications network, electronic payment information for the first user.
 6. The method of claim 5, further comprising: responsive to receiving an acceptance of the request from the mobile device of the second user, reading the electronic payment information from the first user; and effectuating a payment for a predefined fee using the electronic payment information.
 7. A method implemented by a processing unit, the method for facilitating management of achievements over a communications network, comprising: receiving enrollment data from a mobile device of the first user, over the communications network, wherein the enrollment data includes identifying information for the first user and electronic payment information, and storing the enrollment data in a record associated with the first user; effectuating a payment for a predefined fee using the electronic payment information, and allocating a predefined number of credits to the first user; storing, in the record of the first user, the predefined number of credits allocated to the first user; defining a plurality of achievements, wherein an achievement is achievable via game play in a first game, wherein an achievement may be purchased from an online marketplace, or wherein an achievement may be traded via the online marketplace; storing, in the record of the first user, a set of achievements allocated to the first user; providing a first interface to the mobile device of the first user, over the communications network, wherein the first interface displays achievements of the first user, wherein the first user may select an achievement from the first interface, but wherein the first interface only allows the first user to select an achievement for which the first user possesses more than one instance; providing a second interface to the mobile device of the first user, over the communications network, wherein the second interface allows the first user to select an achievement the first user desires to obtain; receiving a selection from the mobile device of the first user, over the communications network, wherein the selection identifies a first achievement of the first user from the first interface and a second achievement of another user from the second interface; broadcasting a request to mobile devices of other users, over the communications network, wherein the request identifies the first achievement of the first user and the second achievement of another user that the first user desires to obtain; receiving an acceptance of the request from a mobile device of a second user, over the communications network; responsive to confirming the presence, in a record of the second user, of more than one instance of the second achievement, deducting a predefined amount of credit allocated to the first user; and allocating the first achievement of the first user to the second user, allocating the second achievement of the second user to the first user and de-allocating the first achievement of the first user and the second achievement of the second user.
 8. The method of claim 7, wherein the processing unit comprises a smart phone or a tablet computer.
 9. The method of claim 8, wherein when the first interface displays the set of achievements of the first user, a graphic is displayed for each achievement.
 10. The method of claim 9, wherein the second interface displays achievements and a graphic is displayed for each achievement.
 11. The method of claim 8, further comprising: receiving from the mobile device of the second user, over the communications network, electronic payment information for the second user; effectuating a payment for a predefined fee using the electronic payment information, and allocating a predefined number of credits to the second user; and storing, in a record of the second user, the predefined number of credits allocated to the second user.
 12. The method of claim 11, further comprising: responsive to confirming the presence, in the record of the second user, of more than one instance of the second achievement, deducting a predefined amount of credit allocated to the second user.
 13. A method implemented by a processing unit, the method for facilitating management of achievements over a communications network, comprising: receiving enrollment data from a mobile device of the first user, over the communications network, wherein the enrollment data includes identifying information for the first user, and storing the enrollment data in a record associated with the first user; receiving a unique code from a mobile device of the first user, over the communications network, wherein the unique code is associated with a predefined number of credits, and allocating the predefined number of credits to the first user; storing, in the record of the first user, the predefined number of credits allocated to the first user; defining a plurality of achievements, wherein an achievement is achievable via game play in a first game, wherein an achievement may be purchased from an online marketplace, or wherein an achievement may be traded via the online marketplace; storing, in the record of the first user, a set of achievements allocated to the first user; providing a first interface to the mobile device of the first user, over the communications network, wherein the first interface displays the achievements of the first user, wherein the first user may select an achievement from the first interface, but wherein the first interface only allows the first user to select an achievement for which the first user possesses more than one instance; providing a second interface to the mobile device of the first user, over the communications network, wherein the second interface allows the first user to select an achievement the first user desires to obtain; receiving a selection from the mobile device of the first user, over the communications network, wherein the selection identifies a first achievement of the first user from the first interface and a second achievement of another user from the second interface; broadcasting a request to mobile devices of other users, over the communications network, wherein the request identifies the first achievement of the first user and the second achievement of another user that the first user desires to obtain; receiving an acceptance of the request from a mobile device of a second user, over the communications network; responsive to confirming the presence, in a record of the second user, of more than one instance of the second achievement, deducting a predefined amount of credit allocated to the first user; and allocating the first achievement of the first user to the second user, allocating the second achievement of the second user to the first user and de-allocating the first achievement of the first user and the second achievement of the second user.
 14. The method of claim 13, wherein the processing unit comprises a smart phone or a tablet computer.
 15. The method of claim 14, wherein when the first interface displays the set of achievements of the first user, a graphic is displayed for each achievement.
 16. The method of claim 15, wherein the second interface displays achievements and a graphic is displayed for each achievement.
 17. The method of claim 14, further comprising: receiving a unique code from the mobile device of the second user, over the communications network, wherein the unique code is associated with a predefined number of credits, and allocating the predefined number of credits to the second user; storing, in the record of the second user, the predefined number of credits allocated to the second user.
 18. The method of claim 17, further comprising: responsive to confirming the presence, in the record of the second user, of more than one instance of the second achievement, deducting a predefined amount of credit allocated to the second user. 